import { requestClient } from '#/api/request';

export namespace AiPromptCategoriesApi {
  /** 提示词分类信息 */
  export interface PromptCategories {
    id: number; // 提示词分类id
    code?: string; // 提示词分类编码
    name?: string; // 提示词分类名称
    parentId?: number; // 提示词父级分类ID
    description: string; // 提示词分类描述
    icon: string; // 图标
    color: string; // 颜色
    status: number; // 状态
    sort: number; // 排序
    codePath: string; // 分类路径
    path: string; // id路径
    systemFlag: number; // 是否系统内置
    templatesCount: number; // 提示词模版个数
    children?: PromptCategories[];
  }
}

/** 查询提示词分类列表 */
export function getPromptCategoriesList(data: any) {
  return requestClient.post<AiPromptCategoriesApi.PromptCategories[]>(
    '/ai/prompt-categories/list',
    data,
  );
}

/** 查询提示词分类详情 */
export function getPromptCategories(id: number) {
  return requestClient.get<AiPromptCategoriesApi.PromptCategories>(
    `/ai/prompt-categories/get?id=${id}`,
  );
}

/** 新增提示词分类 */
export function createPromptCategories(
  data: AiPromptCategoriesApi.PromptCategories,
) {
  return requestClient.post('/ai/prompt-categories/create', data);
}

/** 修改提示词分类 */
export function updatePromptCategories(
  data: AiPromptCategoriesApi.PromptCategories,
) {
  return requestClient.put('/ai/prompt-categories/update', data);
}

/** 删除提示词分类 */
export function deletePromptCategories(id: number) {
  return requestClient.delete(`/ai/prompt-categories/delete?id=${id}`);
}

/** 导出提示词分类 */
export function exportPromptCategories(params: any) {
  return requestClient.download('/ai/prompt-categories/export-excel', {
    params,
  });
}
